1. Field of the Invention
This invention relates generally to continuous processing systems that process streaming data, and, more specifically, to a method for guaranteeing processing of messages in a continuous processing system.
2. Description of the Background Art
Various forms of consistent, durable, and complete processing have been around for years with respect to systems that process static data. Such systems ensure complete processing of data by processing the data within a transaction, where the transaction includes all the steps needed to fully process the data. The classic book on transactions is “Transaction Processing: Concepts and Techniques” by Jim Gray and Andreas Reuter. Data processed within a transaction is only considered to be processed if the entire transaction is completed. If a system failure prevents the transaction from being completed, the relevant data is processed again within a new transaction.
For systems that process static data, data can easily be retrieved again from the database in the event of a system failure and reprocessed in a new transaction. It is far more complicated to ensure complete processing of data in a continuous processing system, where streaming data is continuously pushed through a set of connected primitives that are dependent on each other and that have continuously changing states. Known solutions for ensuring complete processing do not apply to continuous processing system. Therefore, there is need for a method to ensure processing of streaming messages in a continuous processing system.